﻿using ApiManage.Models.zyhModels;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Linq.Expressions;

using ApiManage.Service.MsSql.IService;

namespace ApiManage.Service.MsSql.Service
{
    public class SysMenuService : BaseService, ISysMenuService
    {

        public List<SysMenu> GetList(Expression<Func<SysMenu, bool>> where) => _zyhContext.SysMenu.Where(where).ToList();
        public void AddMenu(SysMenu param)
        {
            _zyhContext.SysMenu.Add(param);
            _zyhContext.SaveChanges();
        }
        public void EditMenu(SysMenu param)
        {
            _zyhContext.SysMenu.Update(param);
            _zyhContext.SaveChanges();
        }
        public void DelMenu(int menuId)
        {
            var menu = _zyhContext.SysMenu.FirstOrDefault(o => o.MenuId == menuId);
            menu.Mark = 9;
            _zyhContext.SysMenu.Update(menu);
            _zyhContext.SaveChanges();
        }
        public List<SysMenuButton> GetMenuButton(Expression<Func<SysMenuButton, bool>> where) => _zyhContext.SysMenuButton.Where(where).ToList();

        public void AddButton(SysMenuButton param)
        {
            _zyhContext.SysMenuButton.Add(param);
            _zyhContext.SaveChanges();
        }

        public void EditButton(SysMenuButton param)
        {
            _zyhContext.SysMenuButton.Update(param);
            _zyhContext.SaveChanges();
        }
        public void DelButton(int buttonId)
        {
            var button = _zyhContext.SysMenuButton.FirstOrDefault(o => o.MenuButtonId == buttonId);
            button.Mark = 9;
            _zyhContext.SysMenuButton.Update(button);
            _zyhContext.SaveChanges();
        }
        public List<SysMenuColumn> GetMenuColumn(Expression<Func<SysMenuColumn, bool>> where) => _zyhContext.SysMenuColumn.Where(where).ToList();

        public void AddColumn(SysMenuColumn param)
        {
            _zyhContext.SysMenuColumn.Add(param);
            _zyhContext.SaveChanges();
        }

        public void EditColumn(SysMenuColumn param)
        {
            _zyhContext.SysMenuColumn.Update(param);
            _zyhContext.SaveChanges();
        }
        public void DelColumn(int ColumnId)
        {
            var Column = _zyhContext.SysMenuColumn.FirstOrDefault(o => o.ColumnId == ColumnId);
            Column.Mark = 9;
            _zyhContext.SysMenuColumn.Update(Column);
            _zyhContext.SaveChanges();
        }
    }
}
